再谈ARC(Automatic Reference Counting)自动引用计数器与delphi 您所在的位置:网站首页 Delphi xe10 内存锁 再谈ARC(Automatic Reference Counting)自动引用计数器与delphi

再谈ARC(Automatic Reference Counting)自动引用计数器与delphi

#再谈ARC(Automatic Reference Counting)自动引用计数器与delphi| 来源: 网络整理| 查看: 265

再谈ARC(Automatic Reference Counting)自动引用计数器

一、ARC与操作系统及其中将要执行的线程的自旋计数有关

1.1、《浅析ARC》https://blog.csdn.net/feng2qing/article/details/51199342

二、ARC是编译器对内存指针(指针可以指向任何对象)回收释放的自动处理方式,以期取代手工代码的执行效率

2.1、《ARC使用和注意点》https://blog.csdn.net/cooljune/article/details/18888863

三、ARC与方法的对象传参与释放息息相关

3.1、官方:《Automatic Reference Counting in Delphi Mobile Compilers》

http://docwiki.embarcadero.com/RADStudio/Rio/en/Automatic_Reference_Counting_in_Delphi_Mobile_Compilers

四、ARC与操作系统的SDK有关,因为编译器需要对其system.pas初始化引用的SDK中的类型进行内存指针的自动处理

五、操作系统及其SDK的更新速度和性能直接影响到delphi编译器的升级

        10.4在发布研讨会时,是这样说的:

        统一内存管理

        现在,使用对象内存管理的经典实现,Delphi内存管理已在所有受支持的平台(移动,桌面和服务器)之间进行了统一。与自动引用计数(ARC)相比,它与现有代码更好地兼容,并且为组件,库和最终用户应用程序提供了更简单的编码。ARC模型保留用于所有平台的字符串管理和接口类型引用。对于C ++,此更改意味着在C ++中创建和删除Delphi样式的类与所有分配堆的C ++类一样,遵循常规的内存管理,从而大大降低了复杂性。

        但是,对于过去的你写的老的代码,需要注意和处理:

        Delphi XE 10.4官方声明是取消了ARC,意味着:1、所有内存指针的回收释放,均要你自己写手工代码。特别是方法的末尾,需要对栈内变量的指针及其传入参数的指针,进行管理和释放。2、传参,参数的型别标识符(const、out、var、隐式参数 )要传正确,因为取消了ARC,不再自动帮你考虑参数的回调、释放等问题。参考:本文最后,浅析《ARC自动引用计数与方法function过程procedure的传参的对象类型及其回调值》。

        因此,极有可能出现Delphi的IDE的编译器与操作系统SDK不同步的局面,因而对于软件开发而言,并非SDK的版本越高越好!同时,也并非操作系统的版本的越新越好!

        故而,这是我想,Delphi XE 10.4开始,官方声明取消ARC的真正缘由。

六、我在开发Android移动平台UI界面事件调用多级嵌套的线程的故事

......慢慢修改本文写给大家,分享一下......

本博客关联:

1、浅析《ARC自动引用计数与方法function过程procedure的传参的对象类型及其回调值》

      https://blog.csdn.net/pulledup/article/details/102646822

2、《RAD Studio 10.4 for delphi XE Assigned和Nil的联系与区别》

      https://blog.csdn.net/pulledup/article/details/107112785

喜欢的话,就在下面点个赞、收藏就好了,方便看下次的分享:



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有